package com.dms.modules.community.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dms.modules.community.dto.CommunityPostDetailDTO;
import com.dms.modules.community.dto.CommunitySearchDTO;
import com.dms.modules.community.entity.CommunitySearchHistory;

import java.util.List;

public interface CommunitySearchService extends IService<CommunitySearchHistory> {
    
    /**
     * 记录搜索历史
     */
    void recordSearch(Long userId, String keyword, Long categoryId);
    
    /**
     * 获取用户最近搜索历史
     */
    List<CommunitySearchDTO> getUserRecentSearches(Long userId, Integer limit);
    
    /**
     * 获取热门搜索词
     */
    List<CommunitySearchDTO> getHotKeywords(Integer limit);
    
    /**
     * 清空用户搜索历史
     */
    boolean clearUserSearchHistory(Long userId);

    /**
     * 搜索帖子
     * @param currentUserId 当前用户ID
     * @param keyword 搜索关键词
     * @param page 分页参数
     * @return 帖子列表
     */
    IPage<CommunityPostDetailDTO> searchPosts(Long currentUserId, String keyword, Page<CommunityPostDetailDTO> page);
} 